package com.hsu.example.common.service;

import com.hsu.example.common.model.User;

import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * 用户服务接口
 * @Author Hsu琛君珩
 * @Date 2024-09-17 1:09
 * @Description
 * @Version: v1.0.0
 */
public interface UserService {

    /**
     * 获取用户信息
     *
     * @param user
     * @return
     */
    User getUser(User user);

    /**
     * 获取数字
     * 默认返回 -1
     *
     * @return -1
     */
    default short getNumber() {
        return -1;
    }

    /**
     * 验证用户是否有效
     * 默认返回 true，表示用户有效
     *
     * @return true
     */
    default Boolean isValid() {
        return true;
    }

    /**
     * 获取随机用户列表
     * 默认返回空列表
     *
     * @return 空列表
     */
    default List<String> getUserList() {
        return Collections.emptyList();
    }

    /**
     * 获取用户设置
     * 默认返回空 Map
     *
     * @return 空 Map
     */
    default Map<String, String> getUserSettings() {
        return Collections.emptyMap();
    }

    /**
     * 获取用户余额
     * 默认返回 -1.0，表示默认实现
     *
     * @return -1.0
     */
    default Double getBalance() {
        return -1.0;
    }
}
